package code04_循环结构;

import java.util.Scanner;

/**
 * @author 黄衡熙
 * @version 1.0
 * @date 2025年07月17日9:42
 */
public class Test12_斐波那契数列 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入斐波那契数列的数字的数量:");
        int num = sc.nextInt();
        if (num > 0) {
            if (num == 1) {
                System.out.println("1");
            } else if (num >= 2) {
                System.out.print("1 1 ");
                // 打印第三项的值
                // 从第三项开始其值=前两项之和
                // 定义N-2项的值
                int a = 1;
                // 定义N-1项的值
                int b = 1;
                for (int i = 3; i <= num; i++) {
                    // 第N的值为前两项之后
                    int n = a + b;
                    // 重新定义N-2项的值
                    // 下一个循环变量时,N-2项的值即为上一个循环变量时的N-1的项的值
                    a = b;
                    // N-1项的值即为上一个循环变量时N项的值
                    b = n;
                    System.out.print(n + " ");
                }
            }
        } else {
            System.out.println("错误:您输入的数量不对,请重新输入!");
        }
    }

}